// This file is part of Substrate.

// Copyright (C) 2022 Parity Technologies (UK) Ltd.
// SPDX-License-Identifier: Apache-2.0

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

//! Autogenerated weights for pallet_contracts
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
//! DATE: 2022-06-22, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! HOSTNAME: `bm3`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024

// Executed Command:
// target/production/substrate
// benchmark
// pallet
// --chain=dev
// --steps=50
// --repeat=20
// --pallet=pallet_contracts
// --extrinsic=*
// --execution=wasm
// --wasm-execution=compiled
// --heap-pages=4096
// --output=./frame/contracts/src/weights.rs
// --template=./.maintain/frame-weight-template.hbs

#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]

use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
use sp_std::marker::PhantomData;

/// Weight functions needed for pallet_contracts.
pub trait WeightInfo {
	fn on_process_deletion_queue_batch() -> Weight;
	fn on_initialize_per_trie_key(k: u32, ) -> Weight;
	fn on_initialize_per_queue_item(q: u32, ) -> Weight;
	fn reinstrument(c: u32, ) -> Weight;
	fn call_with_code_per_byte(c: u32, ) -> Weight;
	fn instantiate_with_code(c: u32, s: u32, ) -> Weight;
	fn instantiate(s: u32, ) -> Weight;
	fn call() -> Weight;
	fn upload_code(c: u32, ) -> Weight;
	fn remove_code() -> Weight;
	fn set_code() -> Weight;
	fn seal_caller(r: u32, ) -> Weight;
	fn seal_is_contract(r: u32, ) -> Weight;
	fn seal_code_hash(r: u32, ) -> Weight;
	fn seal_own_code_hash(r: u32, ) -> Weight;
	fn seal_caller_is_origin(r: u32, ) -> Weight;
	fn seal_address(r: u32, ) -> Weight;
	fn seal_gas_left(r: u32, ) -> Weight;
	fn seal_balance(r: u32, ) -> Weight;
	fn seal_value_transferred(r: u32, ) -> Weight;
	fn seal_minimum_balance(r: u32, ) -> Weight;
	fn seal_block_number(r: u32, ) -> Weight;
	fn seal_now(r: u32, ) -> Weight;
	fn seal_weight_to_fee(r: u32, ) -> Weight;
	fn seal_gas(r: u32, ) -> Weight;
	fn seal_input(r: u32, ) -> Weight;
	fn seal_input_per_kb(n: u32, ) -> Weight;
	fn seal_return(r: u32, ) -> Weight;
	fn seal_return_per_kb(n: u32, ) -> Weight;
	fn seal_terminate(r: u32, ) -> Weight;
	fn seal_random(r: u32, ) -> Weight;
	fn seal_deposit_event(r: u32, ) -> Weight;
	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight;
	fn seal_debug_message(r: u32, ) -> Weight;
	fn seal_set_storage(r: u32, ) -> Weight;
	fn seal_set_storage_per_new_kb(n: u32, ) -> Weight;
	fn seal_set_storage_per_old_kb(n: u32, ) -> Weight;
	fn seal_clear_storage(r: u32, ) -> Weight;
	fn seal_clear_storage_per_kb(n: u32, ) -> Weight;
	fn seal_get_storage(r: u32, ) -> Weight;
	fn seal_get_storage_per_kb(n: u32, ) -> Weight;
	fn seal_contains_storage(r: u32, ) -> Weight;
	fn seal_contains_storage_per_kb(n: u32, ) -> Weight;
	fn seal_take_storage(r: u32, ) -> Weight;
	fn seal_take_storage_per_kb(n: u32, ) -> Weight;
	fn seal_transfer(r: u32, ) -> Weight;
	fn seal_call(r: u32, ) -> Weight;
	fn seal_delegate_call(r: u32, ) -> Weight;
	fn seal_call_per_transfer_clone_kb(t: u32, c: u32, ) -> Weight;
	fn seal_instantiate(r: u32, ) -> Weight;
	fn seal_instantiate_per_transfer_salt_kb(t: u32, s: u32, ) -> Weight;
	fn seal_hash_sha2_256(r: u32, ) -> Weight;
	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight;
	fn seal_hash_keccak_256(r: u32, ) -> Weight;
	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight;
	fn seal_hash_blake2_256(r: u32, ) -> Weight;
	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight;
	fn seal_hash_blake2_128(r: u32, ) -> Weight;
	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight;
	fn seal_ecdsa_recover(r: u32, ) -> Weight;
	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight;
	fn seal_set_code_hash(r: u32, ) -> Weight;
	fn instr_i64const(r: u32, ) -> Weight;
	fn instr_i64load(r: u32, ) -> Weight;
	fn instr_i64store(r: u32, ) -> Weight;
	fn instr_select(r: u32, ) -> Weight;
	fn instr_if(r: u32, ) -> Weight;
	fn instr_br(r: u32, ) -> Weight;
	fn instr_br_if(r: u32, ) -> Weight;
	fn instr_br_table(r: u32, ) -> Weight;
	fn instr_br_table_per_entry(e: u32, ) -> Weight;
	fn instr_call(r: u32, ) -> Weight;
	fn instr_call_indirect(r: u32, ) -> Weight;
	fn instr_call_indirect_per_param(p: u32, ) -> Weight;
	fn instr_local_get(r: u32, ) -> Weight;
	fn instr_local_set(r: u32, ) -> Weight;
	fn instr_local_tee(r: u32, ) -> Weight;
	fn instr_global_get(r: u32, ) -> Weight;
	fn instr_global_set(r: u32, ) -> Weight;
	fn instr_memory_current(r: u32, ) -> Weight;
	fn instr_memory_grow(r: u32, ) -> Weight;
	fn instr_i64clz(r: u32, ) -> Weight;
	fn instr_i64ctz(r: u32, ) -> Weight;
	fn instr_i64popcnt(r: u32, ) -> Weight;
	fn instr_i64eqz(r: u32, ) -> Weight;
	fn instr_i64extendsi32(r: u32, ) -> Weight;
	fn instr_i64extendui32(r: u32, ) -> Weight;
	fn instr_i32wrapi64(r: u32, ) -> Weight;
	fn instr_i64eq(r: u32, ) -> Weight;
	fn instr_i64ne(r: u32, ) -> Weight;
	fn instr_i64lts(r: u32, ) -> Weight;
	fn instr_i64ltu(r: u32, ) -> Weight;
	fn instr_i64gts(r: u32, ) -> Weight;
	fn instr_i64gtu(r: u32, ) -> Weight;
	fn instr_i64les(r: u32, ) -> Weight;
	fn instr_i64leu(r: u32, ) -> Weight;
	fn instr_i64ges(r: u32, ) -> Weight;
	fn instr_i64geu(r: u32, ) -> Weight;
	fn instr_i64add(r: u32, ) -> Weight;
	fn instr_i64sub(r: u32, ) -> Weight;
	fn instr_i64mul(r: u32, ) -> Weight;
	fn instr_i64divs(r: u32, ) -> Weight;
	fn instr_i64divu(r: u32, ) -> Weight;
	fn instr_i64rems(r: u32, ) -> Weight;
	fn instr_i64remu(r: u32, ) -> Weight;
	fn instr_i64and(r: u32, ) -> Weight;
	fn instr_i64or(r: u32, ) -> Weight;
	fn instr_i64xor(r: u32, ) -> Weight;
	fn instr_i64shl(r: u32, ) -> Weight;
	fn instr_i64shrs(r: u32, ) -> Weight;
	fn instr_i64shru(r: u32, ) -> Weight;
	fn instr_i64rotl(r: u32, ) -> Weight;
	fn instr_i64rotr(r: u32, ) -> Weight;
}

/// Weights for pallet_contracts using the Substrate node and recommended hardware.
pub struct SubstrateWeight<T>(PhantomData<T>);
impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
	// Storage: Contracts DeletionQueue (r:1 w:0)
	fn on_process_deletion_queue_batch() -> Weight {
		(1_654_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `k` is `[0, 1024]`.
	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
		(8_564_000 as Weight)
			// Standard Error: 0
			.saturating_add((868_000 as Weight).saturating_mul(k as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(k as Weight)))
	}
	// Storage: Contracts DeletionQueue (r:1 w:0)
	/// The range of component `q` is `[0, 1024]`.
	fn on_initialize_per_queue_item(q: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_944_000 as Weight).saturating_mul(q as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Contracts PristineCode (r:1 w:0)
	// Storage: Contracts CodeStorage (r:0 w:1)
	/// The range of component `c` is `[0, 64226]`.
	fn reinstrument(c: u32, ) -> Weight {
		(19_016_000 as Weight)
			// Standard Error: 0
			.saturating_add((49_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	/// The range of component `c` is `[0, 131072]`.
	fn call_with_code_per_byte(c: u32, ) -> Weight {
		(205_194_000 as Weight)
			// Standard Error: 0
			.saturating_add((53_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
	}
	// Storage: Contracts CodeStorage (r:1 w:1)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	// Storage: Contracts PristineCode (r:0 w:1)
	// Storage: Contracts OwnerInfoOf (r:0 w:1)
	/// The range of component `c` is `[0, 64226]`.
	/// The range of component `s` is `[0, 1048576]`.
	fn instantiate_with_code(c: u32, s: u32, ) -> Weight {
		(288_487_000 as Weight)
			// Standard Error: 0
			.saturating_add((124_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 0
			.saturating_add((2_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(6 as Weight))
	}
	// Storage: Contracts CodeStorage (r:1 w:1)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	/// The range of component `s` is `[0, 1048576]`.
	fn instantiate(s: u32, ) -> Weight {
		(186_136_000 as Weight)
			// Standard Error: 0
			.saturating_add((2_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().writes(5 as Weight))
	}
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	fn call() -> Weight {
		(149_232_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
	}
	// Storage: Contracts CodeStorage (r:1 w:1)
	// Storage: Contracts PristineCode (r:0 w:1)
	// Storage: Contracts OwnerInfoOf (r:0 w:1)
	/// The range of component `c` is `[0, 64226]`.
	fn upload_code(c: u32, ) -> Weight {
		(51_721_000 as Weight)
			// Standard Error: 0
			.saturating_add((48_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(3 as Weight))
	}
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:0 w:1)
	// Storage: Contracts PristineCode (r:0 w:1)
	fn remove_code() -> Weight {
		(30_016_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(1 as Weight))
			.saturating_add(T::DbWeight::get().writes(3 as Weight))
	}
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:2 w:2)
	fn set_code() -> Weight {
		(27_192_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(3 as Weight))
			.saturating_add(T::DbWeight::get().writes(3 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_caller(r: u32, ) -> Weight {
		(206_405_000 as Weight)
			// Standard Error: 112_000
			.saturating_add((40_987_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_is_contract(r: u32, ) -> Weight {
		(106_220_000 as Weight)
			// Standard Error: 710_000
			.saturating_add((307_648_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_code_hash(r: u32, ) -> Weight {
		(104_498_000 as Weight)
			// Standard Error: 633_000
			.saturating_add((368_901_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_own_code_hash(r: u32, ) -> Weight {
		(208_696_000 as Weight)
			// Standard Error: 101_000
			.saturating_add((44_445_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_caller_is_origin(r: u32, ) -> Weight {
		(205_612_000 as Weight)
			// Standard Error: 68_000
			.saturating_add((17_145_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_address(r: u32, ) -> Weight {
		(206_947_000 as Weight)
			// Standard Error: 107_000
			.saturating_add((40_789_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_gas_left(r: u32, ) -> Weight {
		(208_692_000 as Weight)
			// Standard Error: 109_000
			.saturating_add((40_600_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_balance(r: u32, ) -> Weight {
		(209_811_000 as Weight)
			// Standard Error: 208_000
			.saturating_add((116_831_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_value_transferred(r: u32, ) -> Weight {
		(207_406_000 as Weight)
			// Standard Error: 117_000
			.saturating_add((40_702_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_minimum_balance(r: u32, ) -> Weight {
		(209_260_000 as Weight)
			// Standard Error: 130_000
			.saturating_add((40_479_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_block_number(r: u32, ) -> Weight {
		(206_448_000 as Weight)
			// Standard Error: 95_000
			.saturating_add((40_134_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_now(r: u32, ) -> Weight {
		(206_969_000 as Weight)
			// Standard Error: 116_000
			.saturating_add((40_251_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_weight_to_fee(r: u32, ) -> Weight {
		(211_611_000 as Weight)
			// Standard Error: 175_000
			.saturating_add((98_675_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_gas(r: u32, ) -> Weight {
		(134_484_000 as Weight)
			// Standard Error: 57_000
			.saturating_add((19_329_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_input(r: u32, ) -> Weight {
		(208_556_000 as Weight)
			// Standard Error: 125_000
			.saturating_add((40_328_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_input_per_kb(n: u32, ) -> Weight {
		(268_886_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((9_627_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 1]`.
	fn seal_return(_r: u32, ) -> Weight {
		(203_591_000 as Weight)
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_return_per_kb(n: u32, ) -> Weight {
		(204_258_000 as Weight)
			// Standard Error: 0
			.saturating_add((183_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts DeletionQueue (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	/// The range of component `r` is `[0, 1]`.
	fn seal_terminate(r: u32, ) -> Weight {
		(206_625_000 as Weight)
			// Standard Error: 672_000
			.saturating_add((59_377_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_random(r: u32, ) -> Weight {
		(208_866_000 as Weight)
			// Standard Error: 164_000
			.saturating_add((133_438_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_deposit_event(r: u32, ) -> Weight {
		(220_860_000 as Weight)
			// Standard Error: 209_000
			.saturating_add((239_951_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System EventTopics (r:80 w:80)
	/// The range of component `t` is `[0, 4]`.
	/// The range of component `n` is `[0, 16]`.
	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight {
		(439_782_000 as Weight)
			// Standard Error: 1_643_000
			.saturating_add((264_687_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 323_000
			.saturating_add((67_636_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(t as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((80 as Weight).saturating_mul(t as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_debug_message(r: u32, ) -> Weight {
		(140_280_000 as Weight)
			// Standard Error: 82_000
			.saturating_add((32_717_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_set_storage(r: u32, ) -> Weight {
		(161_247_000 as Weight)
			// Standard Error: 883_000
			.saturating_add((423_997_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_set_storage_per_new_kb(n: u32, ) -> Weight {
		(529_247_000 as Weight)
			// Standard Error: 2_745_000
			.saturating_add((85_282_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(55 as Weight))
			.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(T::DbWeight::get().writes(53 as Weight))
			.saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_set_storage_per_old_kb(n: u32, ) -> Weight {
		(529_812_000 as Weight)
			// Standard Error: 2_513_000
			.saturating_add((74_554_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(55 as Weight))
			.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(T::DbWeight::get().writes(53 as Weight))
			.saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_clear_storage(r: u32, ) -> Weight {
		(184_803_000 as Weight)
			// Standard Error: 733_000
			.saturating_add((404_933_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
			.saturating_add(T::DbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_clear_storage_per_kb(n: u32, ) -> Weight {
		(500_958_000 as Weight)
			// Standard Error: 2_980_000
			.saturating_add((75_996_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(55 as Weight))
			.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(T::DbWeight::get().writes(52 as Weight))
			.saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_get_storage(r: u32, ) -> Weight {
		(177_682_000 as Weight)
			// Standard Error: 743_000
			.saturating_add((338_172_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_get_storage_per_kb(n: u32, ) -> Weight {
		(465_285_000 as Weight)
			// Standard Error: 2_599_000
			.saturating_add((155_106_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(55 as Weight))
			.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_contains_storage(r: u32, ) -> Weight {
		(179_118_000 as Weight)
			// Standard Error: 572_000
			.saturating_add((311_083_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_contains_storage_per_kb(n: u32, ) -> Weight {
		(423_056_000 as Weight)
			// Standard Error: 2_037_000
			.saturating_add((69_665_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(54 as Weight))
			.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_take_storage(r: u32, ) -> Weight {
		(188_884_000 as Weight)
			// Standard Error: 761_000
			.saturating_add((432_781_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
			.saturating_add(T::DbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_take_storage_per_kb(n: u32, ) -> Weight {
		(532_408_000 as Weight)
			// Standard Error: 3_348_000
			.saturating_add((164_943_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(55 as Weight))
			.saturating_add(T::DbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(T::DbWeight::get().writes(53 as Weight))
			.saturating_add(T::DbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_transfer(r: u32, ) -> Weight {
		(127_181_000 as Weight)
			// Standard Error: 1_495_000
			.saturating_add((1_500_589_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(2 as Weight))
			.saturating_add(T::DbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_call(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 3_803_000
			.saturating_add((14_860_909_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(5 as Weight))
			.saturating_add(T::DbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
			.saturating_add(T::DbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_delegate_call(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 6_045_000
			.saturating_add((14_797_140_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads((79 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:81 w:81)
	// Storage: Contracts CodeStorage (r:2 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `t` is `[0, 1]`.
	/// The range of component `c` is `[0, 1024]`.
	fn seal_call_per_transfer_clone_kb(t: u32, c: u32, ) -> Weight {
		(9_196_444_000 as Weight)
			// Standard Error: 20_486_000
			.saturating_add((1_458_153_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 8_000
			.saturating_add((9_718_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(T::DbWeight::get().reads(85 as Weight))
			.saturating_add(T::DbWeight::get().reads((81 as Weight).saturating_mul(t as Weight)))
			.saturating_add(T::DbWeight::get().writes(81 as Weight))
			.saturating_add(T::DbWeight::get().writes((81 as Weight).saturating_mul(t as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:80 w:80)
	/// The range of component `r` is `[0, 20]`.
	fn seal_instantiate(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 36_253_000
			.saturating_add((21_201_529_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(6 as Weight))
			.saturating_add(T::DbWeight::get().reads((320 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes(3 as Weight))
			.saturating_add(T::DbWeight::get().writes((320 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:81 w:81)
	// Storage: Contracts ContractInfoOf (r:81 w:81)
	// Storage: Contracts CodeStorage (r:2 w:1)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	/// The range of component `t` is `[0, 1]`.
	/// The range of component `s` is `[0, 960]`.
	fn seal_instantiate_per_transfer_salt_kb(t: u32, s: u32, ) -> Weight {
		(12_282_498_000 as Weight)
			// Standard Error: 48_112_000
			.saturating_add((720_795_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 22_000
			.saturating_add((124_274_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(T::DbWeight::get().reads(167 as Weight))
			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(t as Weight)))
			.saturating_add(T::DbWeight::get().writes(165 as Weight))
			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(t as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_sha2_256(r: u32, ) -> Weight {
		(203_959_000 as Weight)
			// Standard Error: 142_000
			.saturating_add((61_311_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight {
		(349_915_000 as Weight)
			// Standard Error: 40_000
			.saturating_add((320_652_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_keccak_256(r: u32, ) -> Weight {
		(209_219_000 as Weight)
			// Standard Error: 157_000
			.saturating_add((73_728_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight {
		(208_860_000 as Weight)
			// Standard Error: 25_000
			.saturating_add((245_718_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_blake2_256(r: u32, ) -> Weight {
		(206_165_000 as Weight)
			// Standard Error: 138_000
			.saturating_add((51_644_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight {
		(255_955_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((95_090_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_blake2_128(r: u32, ) -> Weight {
		(208_153_000 as Weight)
			// Standard Error: 140_000
			.saturating_add((51_264_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight {
		(278_368_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((95_006_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_ecdsa_recover(r: u32, ) -> Weight {
		(331_955_000 as Weight)
			// Standard Error: 1_155_000
			.saturating_add((3_069_955_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
		(207_838_000 as Weight)
			// Standard Error: 783_000
			.saturating_add((2_058_503_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads(4 as Weight))
			.saturating_add(T::DbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts OwnerInfoOf (r:16 w:16)
	/// The range of component `r` is `[0, 20]`.
	fn seal_set_code_hash(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 1_567_000
			.saturating_add((774_380_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(T::DbWeight::get().reads((79 as Weight).saturating_mul(r as Weight)))
			.saturating_add(T::DbWeight::get().writes((79 as Weight).saturating_mul(r as Weight)))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64const(r: u32, ) -> Weight {
		(73_955_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((612_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64load(r: u32, ) -> Weight {
		(74_057_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_324_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64store(r: u32, ) -> Weight {
		(74_137_000 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_427_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_select(r: u32, ) -> Weight {
		(73_844_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_773_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_if(r: u32, ) -> Weight {
		(73_979_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_952_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_br(r: u32, ) -> Weight {
		(73_924_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((941_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_br_if(r: u32, ) -> Weight {
		(73_574_000 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_439_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_br_table(r: u32, ) -> Weight {
		(73_343_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_603_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `e` is `[1, 256]`.
	fn instr_br_table_per_entry(e: u32, ) -> Weight {
		(76_267_000 as Weight)
			// Standard Error: 0
			.saturating_add((4_000 as Weight).saturating_mul(e as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_call(r: u32, ) -> Weight {
		(74_877_000 as Weight)
			// Standard Error: 12_000
			.saturating_add((7_144_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_call_indirect(r: u32, ) -> Weight {
		(88_665_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((9_142_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `p` is `[0, 128]`.
	fn instr_call_indirect_per_param(p: u32, ) -> Weight {
		(98_600_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((469_000 as Weight).saturating_mul(p as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_local_get(r: u32, ) -> Weight {
		(74_555_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((624_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_local_set(r: u32, ) -> Weight {
		(74_329_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((688_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_local_tee(r: u32, ) -> Weight {
		(74_612_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((909_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_global_get(r: u32, ) -> Weight {
		(76_906_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_192_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_global_set(r: u32, ) -> Weight {
		(76_979_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_361_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_memory_current(r: u32, ) -> Weight {
		(74_370_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((661_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 1]`.
	fn instr_memory_grow(r: u32, ) -> Weight {
		(73_584_000 as Weight)
			// Standard Error: 353_000
			.saturating_add((187_114_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64clz(r: u32, ) -> Weight {
		(74_206_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((884_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ctz(r: u32, ) -> Weight {
		(73_992_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((893_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64popcnt(r: u32, ) -> Weight {
		(73_985_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((891_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64eqz(r: u32, ) -> Weight {
		(74_117_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((901_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64extendsi32(r: u32, ) -> Weight {
		(73_981_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((866_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64extendui32(r: u32, ) -> Weight {
		(74_104_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((868_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i32wrapi64(r: u32, ) -> Weight {
		(74_293_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((878_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64eq(r: u32, ) -> Weight {
		(74_055_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_350_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ne(r: u32, ) -> Weight {
		(73_710_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_360_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64lts(r: u32, ) -> Weight {
		(73_917_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_355_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ltu(r: u32, ) -> Weight {
		(74_048_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_360_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64gts(r: u32, ) -> Weight {
		(74_029_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_349_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64gtu(r: u32, ) -> Weight {
		(74_267_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_353_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64les(r: u32, ) -> Weight {
		(73_952_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_350_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64leu(r: u32, ) -> Weight {
		(73_851_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_368_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ges(r: u32, ) -> Weight {
		(74_034_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_348_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64geu(r: u32, ) -> Weight {
		(73_979_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_353_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64add(r: u32, ) -> Weight {
		(74_000_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_328_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64sub(r: u32, ) -> Weight {
		(73_883_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_331_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64mul(r: u32, ) -> Weight {
		(74_216_000 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_324_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64divs(r: u32, ) -> Weight {
		(73_989_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_998_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64divu(r: u32, ) -> Weight {
		(73_857_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((2_073_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64rems(r: u32, ) -> Weight {
		(73_801_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((2_027_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64remu(r: u32, ) -> Weight {
		(74_130_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((2_064_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64and(r: u32, ) -> Weight {
		(74_071_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_327_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64or(r: u32, ) -> Weight {
		(74_201_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((1_330_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64xor(r: u32, ) -> Weight {
		(74_241_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_321_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64shl(r: u32, ) -> Weight {
		(74_331_000 as Weight)
			// Standard Error: 6_000
			.saturating_add((1_347_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64shrs(r: u32, ) -> Weight {
		(73_674_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_359_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64shru(r: u32, ) -> Weight {
		(73_807_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_358_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64rotl(r: u32, ) -> Weight {
		(73_725_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_358_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64rotr(r: u32, ) -> Weight {
		(73_755_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_360_000 as Weight).saturating_mul(r as Weight))
	}
}

// For backwards compatibility and tests
impl WeightInfo for () {
	// Storage: Contracts DeletionQueue (r:1 w:0)
	fn on_process_deletion_queue_batch() -> Weight {
		(1_654_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `k` is `[0, 1024]`.
	fn on_initialize_per_trie_key(k: u32, ) -> Weight {
		(8_564_000 as Weight)
			// Standard Error: 0
			.saturating_add((868_000 as Weight).saturating_mul(k as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(k as Weight)))
	}
	// Storage: Contracts DeletionQueue (r:1 w:0)
	/// The range of component `q` is `[0, 1024]`.
	fn on_initialize_per_queue_item(q: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_944_000 as Weight).saturating_mul(q as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Contracts PristineCode (r:1 w:0)
	// Storage: Contracts CodeStorage (r:0 w:1)
	/// The range of component `c` is `[0, 64226]`.
	fn reinstrument(c: u32, ) -> Weight {
		(19_016_000 as Weight)
			// Standard Error: 0
			.saturating_add((49_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	/// The range of component `c` is `[0, 131072]`.
	fn call_with_code_per_byte(c: u32, ) -> Weight {
		(205_194_000 as Weight)
			// Standard Error: 0
			.saturating_add((53_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
	}
	// Storage: Contracts CodeStorage (r:1 w:1)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	// Storage: Contracts PristineCode (r:0 w:1)
	// Storage: Contracts OwnerInfoOf (r:0 w:1)
	/// The range of component `c` is `[0, 64226]`.
	/// The range of component `s` is `[0, 1048576]`.
	fn instantiate_with_code(c: u32, s: u32, ) -> Weight {
		(288_487_000 as Weight)
			// Standard Error: 0
			.saturating_add((124_000 as Weight).saturating_mul(c as Weight))
			// Standard Error: 0
			.saturating_add((2_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
	}
	// Storage: Contracts CodeStorage (r:1 w:1)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	/// The range of component `s` is `[0, 1048576]`.
	fn instantiate(s: u32, ) -> Weight {
		(186_136_000 as Weight)
			// Standard Error: 0
			.saturating_add((2_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
	}
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System Account (r:1 w:1)
	fn call() -> Weight {
		(149_232_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
	}
	// Storage: Contracts CodeStorage (r:1 w:1)
	// Storage: Contracts PristineCode (r:0 w:1)
	// Storage: Contracts OwnerInfoOf (r:0 w:1)
	/// The range of component `c` is `[0, 64226]`.
	fn upload_code(c: u32, ) -> Weight {
		(51_721_000 as Weight)
			// Standard Error: 0
			.saturating_add((48_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
	}
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:0 w:1)
	// Storage: Contracts PristineCode (r:0 w:1)
	fn remove_code() -> Weight {
		(30_016_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
	}
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:2 w:2)
	fn set_code() -> Weight {
		(27_192_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_caller(r: u32, ) -> Weight {
		(206_405_000 as Weight)
			// Standard Error: 112_000
			.saturating_add((40_987_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_is_contract(r: u32, ) -> Weight {
		(106_220_000 as Weight)
			// Standard Error: 710_000
			.saturating_add((307_648_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_code_hash(r: u32, ) -> Weight {
		(104_498_000 as Weight)
			// Standard Error: 633_000
			.saturating_add((368_901_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_own_code_hash(r: u32, ) -> Weight {
		(208_696_000 as Weight)
			// Standard Error: 101_000
			.saturating_add((44_445_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_caller_is_origin(r: u32, ) -> Weight {
		(205_612_000 as Weight)
			// Standard Error: 68_000
			.saturating_add((17_145_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_address(r: u32, ) -> Weight {
		(206_947_000 as Weight)
			// Standard Error: 107_000
			.saturating_add((40_789_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_gas_left(r: u32, ) -> Weight {
		(208_692_000 as Weight)
			// Standard Error: 109_000
			.saturating_add((40_600_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_balance(r: u32, ) -> Weight {
		(209_811_000 as Weight)
			// Standard Error: 208_000
			.saturating_add((116_831_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_value_transferred(r: u32, ) -> Weight {
		(207_406_000 as Weight)
			// Standard Error: 117_000
			.saturating_add((40_702_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_minimum_balance(r: u32, ) -> Weight {
		(209_260_000 as Weight)
			// Standard Error: 130_000
			.saturating_add((40_479_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_block_number(r: u32, ) -> Weight {
		(206_448_000 as Weight)
			// Standard Error: 95_000
			.saturating_add((40_134_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_now(r: u32, ) -> Weight {
		(206_969_000 as Weight)
			// Standard Error: 116_000
			.saturating_add((40_251_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_weight_to_fee(r: u32, ) -> Weight {
		(211_611_000 as Weight)
			// Standard Error: 175_000
			.saturating_add((98_675_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_gas(r: u32, ) -> Weight {
		(134_484_000 as Weight)
			// Standard Error: 57_000
			.saturating_add((19_329_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_input(r: u32, ) -> Weight {
		(208_556_000 as Weight)
			// Standard Error: 125_000
			.saturating_add((40_328_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_input_per_kb(n: u32, ) -> Weight {
		(268_886_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((9_627_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 1]`.
	fn seal_return(_r: u32, ) -> Weight {
		(203_591_000 as Weight)
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_return_per_kb(n: u32, ) -> Weight {
		(204_258_000 as Weight)
			// Standard Error: 0
			.saturating_add((183_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts DeletionQueue (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	/// The range of component `r` is `[0, 1]`.
	fn seal_terminate(r: u32, ) -> Weight {
		(206_625_000 as Weight)
			// Standard Error: 672_000
			.saturating_add((59_377_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_random(r: u32, ) -> Weight {
		(208_866_000 as Weight)
			// Standard Error: 164_000
			.saturating_add((133_438_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_deposit_event(r: u32, ) -> Weight {
		(220_860_000 as Weight)
			// Standard Error: 209_000
			.saturating_add((239_951_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: System EventTopics (r:80 w:80)
	/// The range of component `t` is `[0, 4]`.
	/// The range of component `n` is `[0, 16]`.
	fn seal_deposit_event_per_topic_and_kb(t: u32, n: u32, ) -> Weight {
		(439_782_000 as Weight)
			// Standard Error: 1_643_000
			.saturating_add((264_687_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 323_000
			.saturating_add((67_636_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(t as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((80 as Weight).saturating_mul(t as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_debug_message(r: u32, ) -> Weight {
		(140_280_000 as Weight)
			// Standard Error: 82_000
			.saturating_add((32_717_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_set_storage(r: u32, ) -> Weight {
		(161_247_000 as Weight)
			// Standard Error: 883_000
			.saturating_add((423_997_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_set_storage_per_new_kb(n: u32, ) -> Weight {
		(529_247_000 as Weight)
			// Standard Error: 2_745_000
			.saturating_add((85_282_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(55 as Weight))
			.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(RocksDbWeight::get().writes(53 as Weight))
			.saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_set_storage_per_old_kb(n: u32, ) -> Weight {
		(529_812_000 as Weight)
			// Standard Error: 2_513_000
			.saturating_add((74_554_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(55 as Weight))
			.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(RocksDbWeight::get().writes(53 as Weight))
			.saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_clear_storage(r: u32, ) -> Weight {
		(184_803_000 as Weight)
			// Standard Error: 733_000
			.saturating_add((404_933_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
			.saturating_add(RocksDbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_clear_storage_per_kb(n: u32, ) -> Weight {
		(500_958_000 as Weight)
			// Standard Error: 2_980_000
			.saturating_add((75_996_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(55 as Weight))
			.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(RocksDbWeight::get().writes(52 as Weight))
			.saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_get_storage(r: u32, ) -> Weight {
		(177_682_000 as Weight)
			// Standard Error: 743_000
			.saturating_add((338_172_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_get_storage_per_kb(n: u32, ) -> Weight {
		(465_285_000 as Weight)
			// Standard Error: 2_599_000
			.saturating_add((155_106_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(55 as Weight))
			.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_contains_storage(r: u32, ) -> Weight {
		(179_118_000 as Weight)
			// Standard Error: 572_000
			.saturating_add((311_083_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_contains_storage_per_kb(n: u32, ) -> Weight {
		(423_056_000 as Weight)
			// Standard Error: 2_037_000
			.saturating_add((69_665_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(54 as Weight))
			.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `r` is `[0, 10]`.
	fn seal_take_storage(r: u32, ) -> Weight {
		(188_884_000 as Weight)
			// Standard Error: 761_000
			.saturating_add((432_781_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
			.saturating_add(RocksDbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: Skipped Metadata (r:0 w:0)
	/// The range of component `n` is `[0, 8]`.
	fn seal_take_storage_per_kb(n: u32, ) -> Weight {
		(532_408_000 as Weight)
			// Standard Error: 3_348_000
			.saturating_add((164_943_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(55 as Weight))
			.saturating_add(RocksDbWeight::get().reads((5 as Weight).saturating_mul(n as Weight)))
			.saturating_add(RocksDbWeight::get().writes(53 as Weight))
			.saturating_add(RocksDbWeight::get().writes((5 as Weight).saturating_mul(n as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_transfer(r: u32, ) -> Weight {
		(127_181_000 as Weight)
			// Standard Error: 1_495_000
			.saturating_add((1_500_589_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
			.saturating_add(RocksDbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_call(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 3_803_000
			.saturating_add((14_860_909_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
			.saturating_add(RocksDbWeight::get().reads((80 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
			.saturating_add(RocksDbWeight::get().writes((80 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_delegate_call(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 6_045_000
			.saturating_add((14_797_140_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads((79 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:81 w:81)
	// Storage: Contracts CodeStorage (r:2 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `t` is `[0, 1]`.
	/// The range of component `c` is `[0, 1024]`.
	fn seal_call_per_transfer_clone_kb(t: u32, c: u32, ) -> Weight {
		(9_196_444_000 as Weight)
			// Standard Error: 20_486_000
			.saturating_add((1_458_153_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 8_000
			.saturating_add((9_718_000 as Weight).saturating_mul(c as Weight))
			.saturating_add(RocksDbWeight::get().reads(85 as Weight))
			.saturating_add(RocksDbWeight::get().reads((81 as Weight).saturating_mul(t as Weight)))
			.saturating_add(RocksDbWeight::get().writes(81 as Weight))
			.saturating_add(RocksDbWeight::get().writes((81 as Weight).saturating_mul(t as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:80 w:80)
	/// The range of component `r` is `[0, 20]`.
	fn seal_instantiate(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 36_253_000
			.saturating_add((21_201_529_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
			.saturating_add(RocksDbWeight::get().reads((320 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
			.saturating_add(RocksDbWeight::get().writes((320 as Weight).saturating_mul(r as Weight)))
	}
	// Storage: System Account (r:81 w:81)
	// Storage: Contracts ContractInfoOf (r:81 w:81)
	// Storage: Contracts CodeStorage (r:2 w:1)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts Nonce (r:1 w:1)
	// Storage: Contracts OwnerInfoOf (r:1 w:1)
	/// The range of component `t` is `[0, 1]`.
	/// The range of component `s` is `[0, 960]`.
	fn seal_instantiate_per_transfer_salt_kb(t: u32, s: u32, ) -> Weight {
		(12_282_498_000 as Weight)
			// Standard Error: 48_112_000
			.saturating_add((720_795_000 as Weight).saturating_mul(t as Weight))
			// Standard Error: 22_000
			.saturating_add((124_274_000 as Weight).saturating_mul(s as Weight))
			.saturating_add(RocksDbWeight::get().reads(167 as Weight))
			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(t as Weight)))
			.saturating_add(RocksDbWeight::get().writes(165 as Weight))
			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(t as Weight)))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_sha2_256(r: u32, ) -> Weight {
		(203_959_000 as Weight)
			// Standard Error: 142_000
			.saturating_add((61_311_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_sha2_256_per_kb(n: u32, ) -> Weight {
		(349_915_000 as Weight)
			// Standard Error: 40_000
			.saturating_add((320_652_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_keccak_256(r: u32, ) -> Weight {
		(209_219_000 as Weight)
			// Standard Error: 157_000
			.saturating_add((73_728_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_keccak_256_per_kb(n: u32, ) -> Weight {
		(208_860_000 as Weight)
			// Standard Error: 25_000
			.saturating_add((245_718_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_blake2_256(r: u32, ) -> Weight {
		(206_165_000 as Weight)
			// Standard Error: 138_000
			.saturating_add((51_644_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_blake2_256_per_kb(n: u32, ) -> Weight {
		(255_955_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((95_090_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_hash_blake2_128(r: u32, ) -> Weight {
		(208_153_000 as Weight)
			// Standard Error: 140_000
			.saturating_add((51_264_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `n` is `[0, 1024]`.
	fn seal_hash_blake2_128_per_kb(n: u32, ) -> Weight {
		(278_368_000 as Weight)
			// Standard Error: 14_000
			.saturating_add((95_006_000 as Weight).saturating_mul(n as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_ecdsa_recover(r: u32, ) -> Weight {
		(331_955_000 as Weight)
			// Standard Error: 1_155_000
			.saturating_add((3_069_955_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	/// The range of component `r` is `[0, 20]`.
	fn seal_ecdsa_to_eth_address(r: u32, ) -> Weight {
		(207_838_000 as Weight)
			// Standard Error: 783_000
			.saturating_add((2_058_503_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
	}
	// Storage: System Account (r:1 w:0)
	// Storage: Contracts ContractInfoOf (r:1 w:1)
	// Storage: Contracts CodeStorage (r:1 w:0)
	// Storage: Timestamp Now (r:1 w:0)
	// Storage: Contracts OwnerInfoOf (r:16 w:16)
	/// The range of component `r` is `[0, 20]`.
	fn seal_set_code_hash(r: u32, ) -> Weight {
		(0 as Weight)
			// Standard Error: 1_567_000
			.saturating_add((774_380_000 as Weight).saturating_mul(r as Weight))
			.saturating_add(RocksDbWeight::get().reads((79 as Weight).saturating_mul(r as Weight)))
			.saturating_add(RocksDbWeight::get().writes((79 as Weight).saturating_mul(r as Weight)))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64const(r: u32, ) -> Weight {
		(73_955_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((612_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64load(r: u32, ) -> Weight {
		(74_057_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_324_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64store(r: u32, ) -> Weight {
		(74_137_000 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_427_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_select(r: u32, ) -> Weight {
		(73_844_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_773_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_if(r: u32, ) -> Weight {
		(73_979_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_952_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_br(r: u32, ) -> Weight {
		(73_924_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((941_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_br_if(r: u32, ) -> Weight {
		(73_574_000 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_439_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_br_table(r: u32, ) -> Weight {
		(73_343_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_603_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `e` is `[1, 256]`.
	fn instr_br_table_per_entry(e: u32, ) -> Weight {
		(76_267_000 as Weight)
			// Standard Error: 0
			.saturating_add((4_000 as Weight).saturating_mul(e as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_call(r: u32, ) -> Weight {
		(74_877_000 as Weight)
			// Standard Error: 12_000
			.saturating_add((7_144_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_call_indirect(r: u32, ) -> Weight {
		(88_665_000 as Weight)
			// Standard Error: 20_000
			.saturating_add((9_142_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `p` is `[0, 128]`.
	fn instr_call_indirect_per_param(p: u32, ) -> Weight {
		(98_600_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((469_000 as Weight).saturating_mul(p as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_local_get(r: u32, ) -> Weight {
		(74_555_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((624_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_local_set(r: u32, ) -> Weight {
		(74_329_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((688_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_local_tee(r: u32, ) -> Weight {
		(74_612_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((909_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_global_get(r: u32, ) -> Weight {
		(76_906_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_192_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_global_set(r: u32, ) -> Weight {
		(76_979_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_361_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_memory_current(r: u32, ) -> Weight {
		(74_370_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((661_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 1]`.
	fn instr_memory_grow(r: u32, ) -> Weight {
		(73_584_000 as Weight)
			// Standard Error: 353_000
			.saturating_add((187_114_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64clz(r: u32, ) -> Weight {
		(74_206_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((884_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ctz(r: u32, ) -> Weight {
		(73_992_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((893_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64popcnt(r: u32, ) -> Weight {
		(73_985_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((891_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64eqz(r: u32, ) -> Weight {
		(74_117_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((901_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64extendsi32(r: u32, ) -> Weight {
		(73_981_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((866_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64extendui32(r: u32, ) -> Weight {
		(74_104_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((868_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i32wrapi64(r: u32, ) -> Weight {
		(74_293_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((878_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64eq(r: u32, ) -> Weight {
		(74_055_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_350_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ne(r: u32, ) -> Weight {
		(73_710_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_360_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64lts(r: u32, ) -> Weight {
		(73_917_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_355_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ltu(r: u32, ) -> Weight {
		(74_048_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_360_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64gts(r: u32, ) -> Weight {
		(74_029_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_349_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64gtu(r: u32, ) -> Weight {
		(74_267_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_353_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64les(r: u32, ) -> Weight {
		(73_952_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_350_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64leu(r: u32, ) -> Weight {
		(73_851_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_368_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64ges(r: u32, ) -> Weight {
		(74_034_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_348_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64geu(r: u32, ) -> Weight {
		(73_979_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_353_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64add(r: u32, ) -> Weight {
		(74_000_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_328_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64sub(r: u32, ) -> Weight {
		(73_883_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_331_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64mul(r: u32, ) -> Weight {
		(74_216_000 as Weight)
			// Standard Error: 5_000
			.saturating_add((1_324_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64divs(r: u32, ) -> Weight {
		(73_989_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_998_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64divu(r: u32, ) -> Weight {
		(73_857_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((2_073_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64rems(r: u32, ) -> Weight {
		(73_801_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((2_027_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64remu(r: u32, ) -> Weight {
		(74_130_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((2_064_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64and(r: u32, ) -> Weight {
		(74_071_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_327_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64or(r: u32, ) -> Weight {
		(74_201_000 as Weight)
			// Standard Error: 4_000
			.saturating_add((1_330_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64xor(r: u32, ) -> Weight {
		(74_241_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_321_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64shl(r: u32, ) -> Weight {
		(74_331_000 as Weight)
			// Standard Error: 6_000
			.saturating_add((1_347_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64shrs(r: u32, ) -> Weight {
		(73_674_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_359_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64shru(r: u32, ) -> Weight {
		(73_807_000 as Weight)
			// Standard Error: 2_000
			.saturating_add((1_358_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64rotl(r: u32, ) -> Weight {
		(73_725_000 as Weight)
			// Standard Error: 1_000
			.saturating_add((1_358_000 as Weight).saturating_mul(r as Weight))
	}
	/// The range of component `r` is `[0, 50]`.
	fn instr_i64rotr(r: u32, ) -> Weight {
		(73_755_000 as Weight)
			// Standard Error: 3_000
			.saturating_add((1_360_000 as Weight).saturating_mul(r as Weight))
	}
}
